<?php

declare(strict_types=1);

namespace Plugin\Attractions\Broadcast\Model\Broadcast_execution_log;

use Hyperf\DbConnection\Model\Model;

/**
 * @property int $id 主键ID
 * @property int $plan_id 计划ID
 * @property int $execution_type 执行类型：1-计划执行，2-手动执行，3-应急执行
 * @property string $broadcast_content 广播内容
 * @property string $start_time 开始播放时间
 * @property string $end_time 结束播放时间
 * @property int $actual_duration 实际执行时长（秒）
 * @property int $execution_status 执行状态：1-执行中，2-已完成，3-失败
 * @property string $fail_reason 失败原因
 * @property int $volume_level 播放音量（%）
 * @property string $file 播放文件
 * @property int $device_id 设备ID
 * @property string $remark 备注
 */
class BroadcastExecutionLog extends Model
{
    public bool $timestamps = false;
    /**
     * The table associated with the model.
     */
    protected ?string $table = 'broadcast_execution_log';

    /**
     * The attributes that are mass assignable.
     */
    protected array $fillable = ['id', 'plan_id', 'execution_type', 'broadcast_content', 'start_time', 'end_time', 'actual_duration', 'execution_status', 'fail_reason', 'volume_level', 'remark', 'device_id', 'file'];

    /**
     * The attributes that should be cast to native types.
     */
    protected array $casts = ['id' => 'integer', 'plan_id' => 'integer', 'execution_type' => 'integer', 'actual_duration' => 'integer', 'execution_status' => 'integer', 'volume_level' => 'integer', 'device_id' => 'integer'];
}
